#ifndef AI_STUB_ALG_H
#define AI_STUB_ALG_H



#include "ai.h"



/** @brief The main algorithm class.
*
*	Example algorithm, that can be used to implement own ones by copying.
*
*   \image html ai_stub_alg.jpeg
*/
class stub_algorithm: public algorithm
{

public:

	//! @brief Constructor only assignes the name
	stub_algorithm()
	{
		name = "Stub algorithm";
	};
	~stub_algorithm()
	{
	};

	/** @brief	Registrating function (adds ai algorithm to map)
	*/
	static void register_me()
	{
		register_metpl< stub_algorithm >();
	};

	/** @brief	Cloning function for init purposes
	*	@return	clone of the algorithm
	*/
	virtual algorithm* clone()
	{
		stub_algorithm* cl = clonetpl< stub_algorithm >();
		return cl;
	};

	/** @brief Function called at the beginning of buy - have to be implemented and generate buy commands to command list
	*	@param gs current game state
	*/
	virtual void get_buy_commands( const game_state* gs );
	/** @brief Function called at the beginning of every turn - have to be implemented and generate play commands to command list
	*	@param gs current game state
	*/
	virtual void get_commands( const game_state* gs );

};



#endif